This invention relates to streaming multimedia data delivery and rendering over hyperlinked networks such as the Internet.
Only a few years ago, the business world was full of text documents, and adding graphics to them was not easy. Now, the race is on to offer Internet Web sites that attract and retain visitors through the latest in graphics and animation. Audio-enabled and video-enabled Web sites and applications are the next wave. The integration of audio and video into applications such as online training, corporate communications, customer and sales support, news and entertainment services, and product promotions will provide individuals and organizations with new and exciting ways to communicate.
Currently, most of the audio and video content hosted on intranets and on Internet sites is downloadable. This means that the multimedia content must be copied to the user""s local PC before it can be played. However, new technologies use data streaming techniques to deliver multimedia content. Streaming content is digitized content that has been compressed or encoded into a format that the server can break down into packets and then stream across a network to a client player. Streaming is a significant improvement over the download-and-play approach to multimedia file distribution because it allows content to be delivered to the client as a continuous flow of data with little waiting time before playback begins. The content arrives, is buffered briefly, plays, and is discarded. It is not stored on the users""s computer. Users benefit by experiencing instant playxe2x80x94they do not have the frustration of waiting for content to download to determine whether it meets their needs or interests.
Streaming data architectures and systems include players that run on a users"" computers to receive and render streaming multimedia content. In general, a player such as this can support any one or a number of different network transport protocols, including UDP/IP, TCP/IP, HTTP, RTP, and IP multicast. Such protocols vary in efficiency. For example, IP multicast is relatively efficient, since only a single copy of data is sent across the network, to multiple clients. The other protocols, which are unicast protocols, exhibit different degrees of efficiency.
It is desirable for a player to support several protocols, because certain protocols are often not available either within a network or across network boundaries. Specifically, network firewalls might block certain network transport protocols across network boundaries, while the same transport protocols might be available within individual networks. Some prior art players have the ability to try different protocols, either in parallel or in a predetermined order, until one or more streaming data connections are successfully established. This allows a client to determine which protocols are available, to choose the most efficient protocol when it is available, and to use a less efficient protocol when more efficient alternatives are not available. The most advantageous protocol is determined based on a predefined protocol priority.
One disadvantage of this method is that time is wasted while attempting to establish communications under protocols that are eventually found to be unavailable. However, clients using this method are generally configurable by a user so that certain transport protocols can be disabled permanently. This avoids the delay which otherwise results when a client unsuccessfully attempts to establish a streaming data connection using a protocol that the user knows to be unavailable.
Microsoft Corporation has developed a platform for streaming multimedia data over networks that range from low bandwidth dial-up Internet connections to high bandwidth switched local area networks. Using this product, which goes by the trademarked name NetShow, companies can offer new steaming content for applications such as training, corporate communications, entertainment, and advertising to users all over the world. NetShow is a powerful broadcast system that is easy to acquire and operate, and that empowers companies to offer rich, high-quality interactive content over today""s networks.
A prior art version of NetShow (version 1.0) included features allowing streaming multimedia content to be easily embedded in hypertext and other hyperlink documents. To embed unicast content in a hyperlink document, a reference file was created having an xe2x80x9casxxe2x80x9d filename extension. The reference file had a resource specifier in a standard URL (uniform resource locator) format of the form xe2x80x9cmms://server/filespec.asfxe2x80x9d. The protocol specifier of the URL was always equal to xe2x80x9cmmsxe2x80x9d, which designated the UDP/IP unicast protocolxe2x80x94the single default transport protocol implemented by NetShow version 1.0.
To provide a link to unicast content from a hyperlink document, a hyperlink to the reference file was included in the hyperlink document. Activating the hyperlink from a network browser retrieved and opened the reference file. A NetShow player component was registered on the client and was used to open the reference file. The player then attempted to establish a streaming data connection with the network server specified by the resource specifier, using the UDP/IP transport protocol.
With the NetShow version 2.0 platform, multicast streaming or multimedia data was also supported. To use multicasting, the reference file was considered an xe2x80x9cannouncement.xe2x80x9d It contained a statement designating another, second reference file having an xe2x80x9cnscxe2x80x9d filename extension, in addition to statements describing various attributes of the multimedia content. The second reference file includes resource specifiers used to find and access the UDP multicast source. The second reference file also included other information about the source of the streaming data.
The streaming multimedia delivery platform described below includes the ability for a client to specify multiple network transport protocols, and to attempt streaming data communications using those protocols in a predefined order. In addition, however, it provides the ability to automatically override a client""s specified configuration, and to try different transport protocols in an order of preference that is established by a content provided. This is a valuable improvement over the prior art.
In accordance with the invention, a hyperlink to multimedia content is actually an indirect link to a reference file. The reference file contains a plurality of different resource specifiers and a preferred order for attempting communications using the resource specifiers. Each resource specifier designates a transport protocol.
A streaming data client or player opens the resource file in response to activation of a hyperlink to the resource file. Then, the player repeatedly attempts to establish a streaming data connection using the different resource specifiers, in the preferred order specified in the reference file, unit l a streaming data connection is successfully established. Each attempt with a different resource specifier uses the transport protocol designated by that different resource specifier. Different types of protocol specifiers are available. Some of the protocol specifiers override configuration settings made at the network data client relating to which transport protocols are permitted.